// frontend/src/store/index.js

import Vue from 'vue'
import Vuex from 'vuex'

// 必须使用 Vue.use(Vuex)，否则 Vuex 不会生效
Vue.use(Vuex)

// 创建并导出 store 实例
export default new Vuex.Store({
    // 状态：存放全局数据
    state: {
        user: null  // 用于保存登录的用户信息
    },

    // 修改状态的唯一方法：通过 commit 调用 mutation
    mutations: {
        // 设置用户信息
        setUser(state, user) {
            state.user = user
            // 可选：将用户信息持久化到 localStorage
            localStorage.setItem('user', JSON.stringify(user))
        },

        // 清除用户信息（例如退出登录）
        clearUser(state) {
            state.user = null
            // 同时清除 localStorage
            localStorage.removeItem('user')
        }
    },

    // 异步操作可以放在 actions（可选，本例中未使用）
    actions: {
        // 例如：登录成功后提交 mutation
        // loginSuccess({ commit }, user) {
        //   commit('setUser', user)
        // }
    },

    // 模块化（可选，当前不需要）
    modules: {
        // 可以拆分多个模块
    }
})